home *** CD-ROM | disk | FTP | other *** search
/ PC Player 2004 May / pc player 2004-05.iso / Demos / FarCry / Data1.cab / _0D16B1D9F81342EABB4D6210806F587E < prev    next >
Encoding:
Text File  |  2004-01-06  |  5.8 KB  |  235 lines

  1.   //=========================================================================
  2.   // Shadows support
  3.  
  4. #ifdef DEPTHMAPS
  5. #define %TEMP_DEPTH_MAP 0x40000000
  6. #endif
  7. #ifdef OTHER
  8.   #ifdef SELFSHADOW
  9.     #define %TEMP_MIXED_MAP 0x80000000
  10.   #endif
  11. #endif
  12.  
  13. Shadow
  14. (  
  15.   Pass
  16.   (
  17.     AffectMask = f70000c0
  18.     3Samples
  19.     #define %TEMP_SHAD_SAMPLEMASK1 0x10000000
  20.     #define %TEMP_SHAD_SAMPLEMASK2 0x20000000
  21.  
  22.     SecondPassRendState
  23.     {
  24.       Blend 'SRC_ALPHA ONE_MINUS_SRC_ALPHA'
  25.       DepthFunc = Equal
  26.       DepthWrite = 0
  27.     }
  28.     
  29.     CGVProgram = CGVProgShadowTempl
  30.     CGVPParam (Name = TexGen0 TempMatr0[0])
  31.     CGVPParam (Name = TexGen1 TempMatr1[0])
  32.     CGVPParam (Name = TexGen2 TempMatr2[0])
  33.  
  34. #if %TEMP_MIXED_MAP
  35.     CGVPParam (Name = ShadowModelMatr0 Temp2Matr0[7])
  36.     CGVPParam (Name = ShadowModelMatr1 Temp2Matr1[7])
  37.     CGVPParam (Name = ShadowModelMatr2 Temp2Matr2[7])
  38.     CGVPParam (Name = ShadowBias Comp = -0.005)
  39. #endif  
  40.  
  41.     CGPShader = CGRCShadowTempl
  42.     CGPSParam (Name = Ambient Comp 'AmbLightColor[0]'  Comp 'AmbLightColor[1]' Comp 'AmbLightColor[2]' Comp 'Opacity' )
  43.     CGPSParam (Name = Fading Comp 'REColor[0]' Comp 'REColor[1]' Comp 'REColor[2]' )
  44.  
  45. #if %ENVCMAMB
  46.     CGVPParam ( Name = CameraPos Comp 'OSCameraPos pos 0' Comp 'OSCameraPos pos 1' Comp 'OSCameraPos pos 2')
  47.     CGVPParam ( Name = TexMatrix TranspInvObjMatrix )
  48.     CGPSParam ( Name = Reflect Comp=0 Comp=0 Comp=0 User 'ReflectAmount' )
  49. #elif %ENVLIGHT
  50.   CGVPParam ( Name = EnvColors EnvColor )
  51.   CGVPParam ( Name = TexMatrix TranspObjMatrix )
  52. #endif
  53.  
  54.     Layer '0'
  55.     (
  56.       Map = $FromRE0
  57.       TexGen = ShadowMap
  58.       TexColorOp = NoSet
  59.     )
  60.     Layer '1'
  61.     (
  62.       Map = $FromRE1
  63.       TexGen = ShadowMap
  64.       TexColorOp = NoSet
  65.     )
  66.     Layer '2'
  67.     (
  68.       Map = $FromRE2
  69.       TexGen = ShadowMap
  70.       TexColorOp = NoSet
  71.     )
  72.     Layer '3'
  73.     (
  74.       Blend 'SRC_ALPHA ONE_MINUS_SRC_ALPHA'
  75.       Map = $Diffuse
  76.       TexColorOp = NoSet
  77.       //AlphaFunc = GT0
  78.     )
  79. #if %ENVCMAMB
  80.     Layer
  81.     (
  82.       Blend 'SRC_ALPHA ONE_MINUS_SRC_ALPHA'
  83.   #if %RTCUBEMAP
  84.       Map = $EnvironmentCubeMap
  85.   #else      
  86.       Map = $CubeMap
  87.   #endif      
  88.       TexType = CubeMap
  89.       TexColorOp = NoSet
  90.     )
  91. #endif    
  92.     #undefine %TEMP_SHAD_SAMPLEMASK1
  93.     #undefine %TEMP_SHAD_SAMPLEMASK2
  94.   )
  95.  
  96.   Pass
  97.   (
  98.     AffectMask = f70000c0
  99.     2Samples
  100.     #define %TEMP_SHAD_SAMPLEMASK1 0x10000000
  101.  
  102.     SecondPassRendState
  103.     {
  104.       Blend 'SRC_ALPHA ONE_MINUS_SRC_ALPHA'
  105.       DepthFunc = Equal
  106.       DepthWrite = 0
  107.     }
  108.     
  109.     CGVProgram = CGVProgShadowTempl
  110.     CGVPParam (Name = TexGen0 TempMatr0[0])
  111.     CGVPParam (Name = TexGen1 TempMatr1[0])
  112.  
  113. #if %TEMP_MIXED_MAP  
  114.     CGVPParam (Name = ShadowModelMatr0 Temp2Matr0[7])
  115.     CGVPParam (Name = ShadowModelMatr1 Temp2Matr1[7])
  116.     CGVPParam (Name = ShadowBias Comp = -0.005)
  117. #endif  
  118.  
  119.     CGPShader = CGRCShadowTempl
  120.     CGPSParam (Name = Ambient Comp 'AmbLightColor[0]'  Comp 'AmbLightColor[1]' Comp 'AmbLightColor[2]' Comp 'Opacity' )
  121.     CGPSParam (Name = Fading Comp 'REColor[0]' Comp 'REColor[1]' Comp = 0 )
  122.  
  123. #if %ENVCMAMB
  124.     CGVPParam ( Name = CameraPos Comp 'OSCameraPos pos 0' Comp 'OSCameraPos pos 1' Comp 'OSCameraPos pos 2')
  125.     CGVPParam ( Name = TexMatrix TranspInvObjMatrix )
  126.     CGPSParam ( Name = Reflect Comp=0 Comp=0 Comp=0 User 'ReflectAmount' )
  127. #elif %ENVLIGHT
  128.     CGVPParam ( Name = EnvColors EnvColor )
  129.     CGVPParam ( Name = TexMatrix TranspObjMatrix )
  130. #endif
  131.  
  132.     Layer '0'
  133.     (
  134.       Map = $FromRE0
  135.       TexGen = ShadowMap
  136.       TexColorOp = NoSet
  137.     )
  138.     Layer '1'
  139.     (
  140.       Map = $FromRE1
  141.       TexGen = ShadowMap
  142.       TexColorOp = NoSet //Modulate
  143.     )
  144.     Layer '2'
  145.     (
  146.       Blend 'SRC_ALPHA ONE_MINUS_SRC_ALPHA'
  147.       Map = $Diffuse
  148.       TexColorOp = NoSet //Modulate
  149.     )
  150. #if %ENVCMAMB
  151.     Layer
  152.     (
  153.       Blend 'SRC_ALPHA ONE_MINUS_SRC_ALPHA'
  154.   #if %RTCUBEMAP
  155.       Map = $EnvironmentCubeMap
  156.   #else      
  157.       Map = $CubeMap
  158.   #endif      
  159.       TexType = CubeMap
  160.       TexColorOp = NoSet
  161.     )
  162. #endif    
  163.     #undefine %TEMP_SHAD_SAMPLEMASK1
  164.   )
  165.   Pass
  166.   (
  167.     AffectMask = f70000c0
  168.     1Samples
  169.     
  170.     SecondPassRendState
  171.     {
  172.       Blend 'SRC_ALPHA ONE_MINUS_SRC_ALPHA'
  173.       DepthFunc = Equal
  174.       DepthWrite = 0
  175.     }
  176.     
  177.     CGVProgram = CGVProgShadowTempl
  178.     CGVPParam (Name = TexGen0 TempMatr0[0])
  179.  
  180. #if %TEMP_MIXED_MAP  
  181.     CGVPParam (Name = ShadowModelMatr0 Temp2Matr0[7])
  182.     CGVPParam (Name = ShadowBias Comp = -0.005)
  183. #endif  
  184.  
  185.     CGPShader = CGRCShadowTempl
  186.     CGPSParam (Name = Ambient Comp 'AmbLightColor[0]'  Comp 'AmbLightColor[1]' Comp 'AmbLightColor[2]' Comp 'Opacity' )
  187.     CGPSParam (Name = Fading Comp 'REColor[0]' Comp = 0 Comp = 0 )
  188.  
  189. #if %ENVCMAMB
  190.     CGVPParam ( Name = CameraPos Comp 'OSCameraPos pos 0' Comp 'OSCameraPos pos 1' Comp 'OSCameraPos pos 2')
  191.     CGVPParam ( Name = TexMatrix TranspInvObjMatrix )
  192.     CGPSParam ( Name = Reflect Comp=0 Comp=0 Comp=0 User 'ReflectAmount' )
  193. #elif %ENVLIGHT
  194.     CGVPParam ( Name = EnvColors EnvColor )
  195.     CGVPParam ( Name = TexMatrix TranspObjMatrix )
  196. #endif
  197.  
  198.     Layer '0'
  199.     (
  200.       Map = $FromRE0
  201.       TexGen = ShadowMap
  202.       TexColorOp = NoSet
  203.     )
  204.     Layer '1'
  205.     (
  206.       Blend 'SRC_ALPHA ONE_MINUS_SRC_ALPHA'
  207.       Map = $Diffuse
  208.       TexColorOp = NoSet //Modulate
  209.       //AlphaFunc = GT0
  210.     )
  211. #if %ENVCMAMB
  212.     Layer
  213.     (
  214.       Blend 'SRC_ALPHA ONE_MINUS_SRC_ALPHA'
  215.   #if %RTCUBEMAP
  216.       Map = $EnvironmentCubeMap
  217.   #else      
  218.       Map = $CubeMap
  219.   #endif      
  220.       TexType = CubeMap
  221.       TexColorOp = NoSet
  222.     )
  223. #endif    
  224.   )
  225. )
  226.  
  227. #ifdef DEPTHMAPS
  228. #undefine %TEMP_DEPTH_MAP
  229. #endif
  230. #ifdef OTHER
  231.   #ifdef SELFSHADOW
  232.     #undefine %TEMP_MIXED_MAP
  233.   #endif
  234. #endif
  235.